package com.xgg.taiwuinfo.filter.fc;

import android.content.Context;
import android.util.Log;

import com.xgg.taiwuinfo.R;
import com.xgg.taiwuinfo.filter.FC_EqualSelect;
import com.xgg.taiwuinfo.filter.FilterComponent;
import com.xgg.taiwuinfo.gongfa.base.Gongfa;
import com.xgg.taiwuinfo.utils.GongfaType;

import org.json.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FCTypeEqualSelect extends FC_EqualSelect {
    public FCTypeEqualSelect(JSONObject obj, Context ctx)
    {
        mTypeId = FilterComponent.FT_TYPE_EQUAL_SELECT;
        if (obj != null) {
            try {
                ReadValue = obj.getInt("v");
                ReadCompare = obj.getInt("c");
            } catch (Exception e) {
                Log.d("LoadJson", e.getLocalizedMessage());
                ReadValue = GongfaType.TYPE_NEIGONG;
                ReadCompare = FC_EQUAL;
            }
        }
        else {
            ReadValue = GongfaType.TYPE_NEIGONG;
            ReadCompare = FC_EQUAL;
        }
        TempValue = ReadValue;
        TempCompare = ReadCompare;

        FieldStr = "功法种类";
        if (mValueMap == null) {
            mValueMap = new ArrayList<>();
            Map<String, String> map;

            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_neigong));
            map.put("v", GongfaType.TYPE_NEIGONG + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_shenfa));
            map.put("v", GongfaType.TYPE_SHENFA + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_jueji));
            map.put("v", GongfaType.TYPE_JUEJI + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_jueji_huti));
            map.put("v", GongfaType.TYPE_JUEJI_HUTI + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_jueji_qiqiao));
            map.put("v", GongfaType.TYPE_JUEJI_QIQIAO + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_cuipo));
            map.put("v", GongfaType.TYPE_CUIPO + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_cuipo_anqi));
            map.put("v", GongfaType.TYPE_CUIPO_ANQI + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_cuipo_changbing));
            map.put("v", GongfaType.TYPE_CUIPO_CHANGBING + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_cuipo_daofa));
            map.put("v", GongfaType.TYPE_CUIPO_DAOFA + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_cuipo_jianfa));
            map.put("v", GongfaType.TYPE_CUIPO_JIANFA + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_cuipo_qimen));
            map.put("v", GongfaType.TYPE_CUIPO_QIMEN + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_cuipo_quanzhang));
            map.put("v", GongfaType.TYPE_CUIPO_QUANZHANG + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_cuipo_ruanbing));
            map.put("v", GongfaType.TYPE_CUIPO_RUANBING + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_cuipo_tuifa));
            map.put("v", GongfaType.TYPE_CUIPO_TUIFA + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_cuipo_yueqi));
            map.put("v", GongfaType.TYPE_CUIPO_YUEQI + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_cuipo_yushe));
            map.put("v", GongfaType.TYPE_CUIPO_YUSHE + "");
            mValueMap.add(map);
            map = new HashMap<>();
            map.put("f", ctx.getString(R.string.type_cuipo_zhifa));
            map.put("v", GongfaType.TYPE_CUIPO_ZHIFA + "");
            mValueMap.add(map);
        }
    }

    @Override
    public String FilterGongfa(Gongfa gongfa){
        if (((gongfa.getType() & ReadValue) > 0 ) ^ !(ReadCompare == FC_EQUAL) )
        {
            return "";
        }
        else
            return null;
    }

    @Override
    public List<Map<String, String>> getFieldString(Context ctx){
        List<Map<String, String>> mCompMap = new ArrayList<>();
        Map<String, String> map;

        map = new HashMap<>();
        map.put("f", FieldStr);
        map.put("v",   "0");
        mCompMap.add(map);

        return mCompMap;
    }

    @Override
    public List<Map<String, String>> getValueMap(Context ctx)
    {


        return mValueMap;
    }

}
